package com.dingup.paike.service.message;

import com.dingup.paike.adapter.pk.PkLessonUserAdapter;
import com.dingup.paike.adapter.pk.message.RemindOfClassForUser;
import com.dingup.paike.bean.aobean.MasterSignInAO;
import com.dingup.paike.enums.PkLessonUserTypeEnum;

/**
 * Created by wancheng on 2018/10/18.
 */
public interface UserRemindService {
    /**
     * 学生 老师 班主任 上课提醒详情
     *
     * @param userId
     * @param typeEnum
     * @return
     */
    RemindOfClassForUser getRemindOfClassForUser(String userId, PkLessonUserTypeEnum typeEnum, String pkMessageDetailsId);

    /**
     * 班主任 签到表
     *
     * @param userId
     * @return
     */
    RemindOfClassForUser getPkLessonSignIn(String userId, String pkMessageDetailsId);

    /**
     * 获取课节签到详情
     *
     * @param pkLessonId
     * @return
     */
    MasterSignInAO getPkLessonSignInDetails(Integer pkLessonId);

    /**
     * 学生签到
     * @param pkLessonId
     * @param studentId
     */
    void studentSignIn(Integer pkLessonId, String studentId);

    /**
     * 消息确认
     * @param id
     */
    void messageConfirm(String id);

    /**
     * 课时确认 --- 课节详情页面
     *
     * @param pkLessonId
     * @return
     */
    MasterSignInAO getPkLessonClassHourConfirmDetails(Integer pkLessonId);

    /**
     * 确认课时
     *
     * @param pkLessonId
     * @param ifClassFee
     * @param classHour
     */
    void lessonClassHourConfirm(Integer pkLessonId, Boolean ifClassFee, Float classHour);

    /**
     * 获取即将上课提醒
     *
     * @param pkLessonId
     */
    PkLessonUserAdapter getLessonRemindAboutToBegin(Integer pkLessonId);

    /**
     * 获取课程先关人员的确认信息
     *
     * @param pkLessonId
     * @return
     */
    MasterSignInAO getLessonConfirmDetailsForClass(Integer pkLessonId, String pkMessageDetailsId);

}
